Causality-based Model Checking
نویسندگان
چکیده
Trace Tableau = concrete trace unwinding + abstract looping trace tableau • automatic procedure to find proofs in the form of a looping trace tableau Figure 1: Data structures for causality-based model checking. the property of interest. The exploration algorithm proceeds by picking some forest leaf, and employing an applicable trace transformer, producing a number of further nodes. The exploration stops when all forest leaves are found to be contradictory. The most involved datastructure, abstract trace tableau, contains, besides concrete trace unwinding, an abstract looping trace tableau, which may have covering edges between tableau nodes. A covering condition is an extension of subgraph isomorphism to concurrent traces: a concurrent trace, which is a subgraph of another trace, represents a situation which was encountered in the analysis before. This tableau is also allowed to contain causal loops, i.e. infinite repetitions of a sequence of trace productions, which together imply the impossibility of a computation satisfying them. The abstract trace tableau is used to track premises of already applied proof rules, and, thus, simplifies coverings. 3 Two Examples We illustrate the framework with two examples taken from [4] and [5]: one for the analysis of a safety property (reachability), and another for the analysis of a liveness property (termination). Safety. Consider the synchronized system shown in the top part of Figure 2: the example was introduced by Esparza and Heljanko in [2] to illustrate the exponential succinctness of Petri net unfoldings. There are n+ 1 processes, and we want to check whether the global transition c is executable. Note that the state space of this system is exponential with respect to n: the system contains 3 · 2n−1 reachable states. Thus, approaches based on state space exploration will suffer from the state space explosion problem. The authors of [2] show that the Petri net unfolding of the example system contains 2 · n+ 3 places, i.e., a linear size unfolding can represent succinctly the exponential state space. We use the same example to demonstrate that the trace unwinding of the example system never exceeds n+ 6 nodes, but a constant size unwinding of just 7 nodes also suffice, which we show in the bottom part of Figure 2. Node 1, the root of the unwinding, captures all system traces where c is executed. One of it’s preconditions is that the first process should be at location r2; but the initial condition says that the system is at location r1: a contradiction. Thus, a transition that goes from r1 to r2 is necessary, B. Finkbeiner & A. Kupriyanov 35
منابع مشابه
Symbolic Causality Checking Using Bounded Model Checking
In precursory work we have developed causality checking, a fault localization method for concurrent system models relying on the Halpern and Pearl counterfactual model of causation that identifies ordered occurrences of system events as being causal for the violation of non-reachability properties. Our first implementation of causality checking relies on explicit-state model checking. In this p...
متن کاملTowards Symbolic Causality Checking using SAT-Solving
With the increasing size and complexity of modern safety critical embedded systems, the need for automated analysis methods is growing as well. Causality Checking is an automated technique for formal causality analysis of system models. In this paper we report on work in progress towards an Symbolic Causality Checking approach. The proposed approach is based on bounded model checking using SAT ...
متن کاملCausality Checking of Safety-Critical Software and Systems
The complexity of modern safety-critical systems is steadily increasing due to the amount of functionality that is implemented in those systems. In order to be able to asses the correctness and safety of these systems in a comprehensive manner automated or, at least, computer-aided techniques are needed. Model checking, a formal verification technique, provides an automated algorithmic analysis...
متن کاملCausality Checking for Complex System Models
We present an approach for the algorithmic computation of causalities in system models that we refer to as causality checking. We base our notion of causality on counterfactual reasoning, in particular using the structural equation model approach by Halpern and Pearl that we recently have extended to reason about computational models. In this paper we present a search-based on-the-fly approach ...
متن کاملTowards Causality Checking for Complex System Models
With the increasing growth of the size and complexity of modern safetycritical systems, the demand for model based engineering methods that both help in architecting such systems and to asses their safety and correctness becomes increasingly obvious. Causality checking is an automated method for formal causality analysis of system models and system execution traces. In this paper we report on w...
متن کاملGenerating Diagnoses for Probabilistic Model Checking Using Causality
One of the major advantages of model checking over other formal methods of verification is its ability to generate an error trace when the specification is falsified in the model. We call this trace a counterexample. In probabilistic model checking (PMC), counterexample generation has a quantitative aspect. The counterexample is a set of paths in which a path formula holds, and their accumulate...
متن کامل